home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DS-CD ROM 2 1993 August
/
DS CD-ROM 2.Ausgabe (August 1993).iso
/
programm
/
ds0257
/
lib.exe
/
EXTDOS.MAB
< prev
next >
Wrap
Text File
|
1992-02-02
|
9KB
|
491 lines
DOS_INFO_BLOCK STRUC [BX]
DIB_SHARECOUNT DW ?
DIB_SHARETIME DW ?
DIB_LASTBUFFER DW ?,?
DIB_INPUTLINEPOINTER DW ?
DIB_FIRST_MCB DW ?
DIB_FIRST_DPB DD ?
DIB_SDL DD ?
DIB_CLOCK_DEVICE DD ?
DIB_CON_DEVICE DD ?
DIB_MAXSEKTORLENGTH DW ?
DIB_FIRSTBUFFER DD ?
DIB_DRIVETABLE DD ?
DIB_FCBSTABLE DD ?
DIB_FCBSPARM2 DW ?
DIB_PHYSICALLWS DB ?
DIB_LOGICALLWS DB ?
DIB_NULDEVICEENTRYP DB 12H DUP ?
DIB_JOINEDDRIVES DB ?
DIB_SPECIALNAMELIST DW ?
DIB_UNKNOWN DD ?
DIB_IFSCHAIN DD ?
DIB_BUFFERSPARM1 DW ?
DIB_BUFFERSPARM2 DW ?
DIB_BOOTDRIVE DB ?
DIB_386INDIKATOR DB ?
DIB_EXTMEMSIZE DW ?
ENDS
GETDIBADRESS MACRO
MOV AH,052H
INT 021H
SUB BX,0CH
#EM
MEMORY_CONTROL_BLOCK STRUC [BX]
MCB_ID_BYTE DB ?
MCB_PSP_SEGMENT DW ?
MCB_BLOCK_LENGTH DW ?
MCB_RESERVED DB 3 DUP ?
MCB_NAME DB 8 DUP ?
ENDS
LASTMCB_ID EQU 'Z'
NOTLASTMCB_ID EQU 'M'
BLOCK_USED_BY_DOS EQU 0008H
BLOCK_NOT_USED EQU 0000H
GETFIRSTMCBADRESS MACRO
GETDIBADRESS
MOV ES,ES:DIB_FIRST_MCB
XOR BX,BX
#EM
GETNEXTMCBADRESS MACRO
CMP ES:MCB_ID_BYTE,LASTMCB_ID
JZ >M1
MOV AX,ES
ADD AX,ES:MCB_BLOCK_LENGTH
INC AX
MOV ES,AX
MOV BX,0
M1:
#EM
SUB_CONTROL_BLOCK STRUC [BX]
SCB_ID_BYTE DB ?
SCB_MAINSEGMENT DW ?
SCB_BLOCK_LENGTH DW ?
SCB_RESERVED DB 3 DUP ?
SCB_NAME DB 8 DUP ?
ENDS
DEVICEDRIVER_ID EQU 'D'
DEVICEDRIVERA_ID EQU 'E'
IFSDRIVER_ID EQU 'I'
SDL_ID EQU 'F'
FCBS_ID EQU 'X'
BUFFERWORKSPACE_ID EQU 'C'
BUFFERS_ID EQU 'B'
DRIVE_ID EQU 'L'
STACKS_ID EQU 'S'
GETFIRSTSCBADRESS MACRO
GETDIBADRESS
MOV BX,ES:DIB_FIRST_MCB
INC BX
MOV ES,BX
XOR BX,BX
#EM
GETNEXTSCBADRESS MACRO
MOV AX,ES
ADD AX,ES:SCB_BLOCK_LENGTH
INC AX
MOV ES,AX
MOV BX,0
CMP ES:SCB_ID_BYTE,LASTMCB_ID
JZ >M1
CMP ES:SCB_ID_BYTE,NOTLASTMCB_ID
M1:
#EM
SDLHEADER STRUC [BX]
SDLHEADER_NEXT DD ?
SDLENTRYS DW ?
ENDS
GETFIRSTSDLTABLE MACRO
GETDIBADRESS
LES BX,ES:DIB_SDL
MOV CX,ES:SDLENTRYS
#EM
GETNEXTSDLTABLE MACRO
CMP W ES:SDLHEADER_NEXT,0FFFFH
JZ >M1
LES BX,ES:SDLHEADER_NEXT
MOV CX,SDLENTRYS
M1:
#EM
FCBSHEADER STRUC [BX]
FCBSHEADER_NEXT DD ?
FCBSENTRYS DW ?
FCBSENTRYS1 DW ?
ENDS
GETFIRSTFCBSTABLE MACRO
GETDIBADRESS
LES BX,ES:DIB_FCBSTABLE
MOV CX,ES:FCBSENTRYS
#EM
GETNEXTFCBSTABLE MACRO
CMP W ES:FCBSHEADER_NEXT,0FFFFH
JZ >M1
LES BX,ES:FCBSHEADER_NEXT
MOV CX,FCBSENTRYS
M1:
#EM
SDLENTRY3 STRUC [BX]
SDLENTRY3_USED DW ?
SDLENTRY3_CODE DW ?
SDLENTRY3_ATTR DB ?
SDLENTRY3_STATUS DW ?
SDLENTRY3_DPB DD ?
SDLENTRY3_SCLUSTER DW ?
SDLENTRY3_TIME DW ?
SDLENTRY3_DATE DW ?
SDLENTRY3_LENGTH DD ?
SDLENTRY3_POINTER DD ?
SDLENTRY3_ARCLUSTER DW ?
SDLENTRY3_AACLUSTER DW ?
SDLENTRY3_SEKTORNR DW ?
SDLENTRY3_DIRENTR DB ?
SDLENTRY3_NAME DB 8 DUP ?
SDLENTRY3_EXT DB 3 DUP ?
SDLENTRY3_SHAREDATA DB 6 DUP ?
SDLENTRY3_PSP DW ?
SDLENTRY3_SHARE2 DW ?
ENDS
SDLENTRY4 STRUC [BX]
SDLENTRY4_USED DW ?
SDLENTRY4_CODE DW ?
SDLENTRY4_ATTR DB ?
SDLENTRY4_STATUS DW ?
SDLENTRY4_DPB DD ?
SDLENTRY4_SCLUSTER DW ?
SDLENTRY4_TIME DW ?
SDLENTRY4_DATE DW ?
SDLENTRY4_LENGTH DD ?
SDLENTRY4_POINTER DD ?
SDLENTRY4_ARCLUSTER DW ?
SDLENTRY4_SEKTORNR DD ?
SDLENTRY4_DIRENTR DB ?
SDLENTRY4_NAME DB 8 DUP ?
SDLENTRY4_EXT DB 3 DUP ?
SDLENTRY4_SHAREDATA DB 6 DUP ?
SDLENTRY4_PSP DW ?
SDLENTRY4_SHARE2 DW ?
SDLENTRY4_UNKNOWN DW ?
SDLENTRY_IFS DD ?
ENDS
DRIVETABLE STRUC [BX]
DRIVE_PFAD DB 043H DUP ?
DRIVE_USED DW ?
DRIVE_DPB DD ?
DRIVE_DIR DW ?
DRIVE_UNKNOWN DB 4 DUP ?
DRIVE_PFADL DW ?
DRIVE4_UNKNOWN DB 7 DUP ?
ENDS
DRIVETSIZE33 EQU OFFSET DRIVE4_UNKNOWN
DRIVETSIZE4XX EQU TYPE DRIVETABLE
LOGLWKNOWN EQU 04000H
LOGLWSUBST EQU 05000H
LOGLWJOIN EQU 06000H
LOGLWNETWORK EQU 08000H
LOGLWIFS EQU 0C000H
GETDRIVEADRESS MACRO
GETDIBADRESS
MOV CL,ES:DIB_LOGICALLWS
XOR CH,CH
LES BX,ES:DIB_DRIVETABLE
#EM
DEVICE_HEADER STRUC [BX]
NEXT_DEVICEHEADER DD ?
DEVICE_ATTR DW ?
DEVICE_STRATEGY DW ?
DEVICE_INTERRUPT DW ?
DEVICE_SUBDRIVER DB
DEVICE_NAME DB 8 DUP ?
ENDS
GETFIRSTDEVICEDRIVER MACRO
GETDIBADRESS
ADD BX,OFFSET DIB_NULDEVICEENTRYP
#EM
GETNEXTDEVICEDRIVER MACRO
CMP W ES:NEXT_DEVICEHEADER,0FFFFH
JZ >M1
LES BX,ES:NEXT_DEVICEHEADER
M1:
#EM
CHECKDEVICEDRIVER MACRO
TEST ES:DEVICE_ATTR,08000H
#EM
CHECKCLOCK$DEVICE MACRO
MOV AX,ES:DEVICE_ATTR
AND AX,08008H
CMP AX,08008H
#EM
CHECKSTDOUTDEVICE MACRO
MOV AX,ES:DEVICE_ATTR
AND AX,08001H
CMP AX,08001H
#EM
CHECKSTDINDEVICE MACRO
MOV AX,ES:DEVICE_ATTR
AND AX,08002H
CMP AX,08002H
#EM
PSP STRUC [BX]
PSP_ENDCOMMAND DW ?
PSP_LASTSEGMENT DW ?
PSP_RESERVED DB ?
PSP_DOSFARCALL DB 5 DUP ?
PSP_ENDVEKTOR DD ?
PSP_BREAKVEKTOR DD ?
PSP_ERRORVEKTOR DD ?
PSP_LOADERID DW ?
PSP_HANDLETABLE DB 14H DUP ?
PSP_ENVSEG DW ?
PSP_STACKPOINTER DD ?
PSP_MAXHANDLES DW ?
PSP_HANDLETABADR DD ?
PSP_PSPPOINTER DD ?
PSP_UNKNOWN1 DB 14H DUP ?
PSP_INT21COMMAND DB 3 DUP ?
PSP_RESERVEDFORUSER DB 09H DUP ?
PSP_FCB1 DB
DB 10H DUP ?
PSP_FCB2 DB
DB 14H DUP ?
PSP_PARMLENGTH DB
PSP_DTA DB ?
PSP_PARMS DB 79H DUP 0
ENDS
GETPSPADRESS MACRO
MOV AH,051H
INT 021H
MOV ES,BX
XOR BX,BX
#EM
SETPSPADRESS MACRO
MOV AH,50H
INT 021H
#EM
BUFFER3_HEADER STRUC [BX]
BUFFER3_NEXTBUFFER DD ?
BUFFER3_DRIVER_NUMBER DB ?
BUFFER3_USED DB ?
BUFFER3_SECTORNUMBER DW ?
BUFFER3_COUNT DB ?
BUFFER3_DISTANCE DB ?
BUFFER3_DPB DD ?
BUFFER3_UNKNOWN DW ?
BUFFER3_SECTOR DB 200H DUP ?
ENDS
GETFIRSTBUFFER3 MACRO
GETDIBADRESS
LES BX,ES:DIB_FIRSTBUFFER
#EM
GETNEXTBUFFER3 MACRO
CMP W ES:BUFFER3_NEXTBUFFER,0FFFFH
JZ >M1
LES BX,ES:BUFFER3_NEXTBUFFER
M1:
#EM
PIB40 STRUC [BX]
PIB40_HASHCHAINPOINTER DD ?
PIB40_HASHCHAINCOUNT DW ?
PIB40_LOOKAHEADPOINTER DD ?
PIB40_LOOKAHEADCOUNT DW ?
PIB40_UNKNOWN DB ?
PIB40_EMSHANDLE DW ?
PIB40_EMSPAGE DW ?
PIB40_UNKNOWN2 DW ?
PIB40_EMSFRAME DW ?
PIB40_UNKNOWN3 DB 0AH DUP ?
ENDS
PIB401 STRUC [BX]
PIB401_HASHCHAINPOINTER DD ?
PIB401_HASHCHAINCOUNT DW ?
PIB401_LOOKAHEADPOINTER DD ?
PIB401_LOOKAHEADCOUNT DW ?
PIB401_UNKNOWN DB 8 DUP ?
PIB401_WORKSPACEPOINTER DD ?
PIB401_EMSHANDLE DW ?
PIB401_EMSPAGE DW ?
PIB401_UNKNOWN2 DW ?
PIB401_EMSFRAME DW ?
PIB401_UNKNOWN3 DW ?
ENDS
HASHCHAINENTRY STRUC [BX]
HASHCHAIN_EMSPAGE DW ?
HASHCHAIN_LASTBUFFERP DD ?
HASHCHAIN_DIRTYBUFFERS DW ?
ENDS
BUFFER4_HEADER STRUC [BX]
BUFFER4_NEXTBUFFER DW ?
BUFFER4_LASTBUFFER DW ?
BUFFER4_DRIVER_NUMBER DB ?
BUFFER4_USED DB ?
BUFFER4_SECTORNUMBER DD ?
BUFFER4_COUNT DB ?
BUFFER4_DISTANCE DW ?
BUFFER4_DPB DD ?
BUFFER4_REMOTECOUNT DW ?
BUFFER4_UNKNOWN DB ?
BUFFER4_SECTOR DB 200H DUP ?
ENDS
GETPIBADRESS MACRO
GETDIBADRESS
LES BX,ES:DIB_FIRSTBUFFER
#EM
GETHASHCHAINADRESS MACRO
GETDIBADRESS
LES BX,ES:DIB_FIRSTBUFFER
MOV CX,ES:PIB40_HASHCHAINCOUNT
LES BX,ES:PIB40_HASHCHAINPOINTER
#EM
GETLOOKAHEADADRESS MACRO
GETDIBADRESS
LES BX,ES:DIB_FIRSTBUFFER
MOV CX,ES:PIB40_LOOKAHEADCOUNT
OR CX,CX
JZ >M1
LES BX,ES:PIB40_LOOKAHEADPOINTER
M1:
#EM
DOS_PARAMETER_BLOCK3 STRUC [BX]
DPB3_DRIVER_NUMBER DB ?
DPB3_DSUBUNIT_NUMBER DB ?
DPB3_BYTES_SEKTOR DW ?
DPB3_SHIFTMASK DB ?
DPB3_SEKTORS_CLUSTER DB ?
DPB3_RESERVED_SEKTORS DW ?
DPB3_FATS DB ?
DPB3_ROOTDIRENTRYS DW ?
DPB3_FIRST_SECTOR DW ?
DPB3_LAST_CLUSTER DW ?
DPB3_SECTORS_FAT DB ?
DPB3_FIRST_DATA_SEC DW ?
DPB3_DEVICE_DRIVER DD ?
DPB3_MEDIA_BYTE DB ?
DPB3_USED_FLAG DB ?
DPB3_NEXT_DPB DD ?
ENDS
DOS_PARAMETER_BLOCK4 STRUC [BX]
DPB4_DRIVER_NUMBER DB ?
DPB4_DSUBUNIT_NUMBER DB ?
DPB4_BYTES_SEKTOR DW ?
DPB4_SHIFTMASK DB ?
DPB4_SEKTORS_CLUSTER DB ?
DPB4_RESERVED_SEKTORS DW ?
DPB4_FATS DB ?
DPB4_ROOTDIRENTRYS DW ?
DPB4_FIRST_SECTOR DW ?
DPB4_LAST_CLUSTER DW ?
DPB4_SECTORS_FAT DW ?
DPB4_FIRST_DATA_SEC DW ?
DPB4_DEVICE_DRIVER DD ?
DPB4_MEDIA_BYTE DB ?
DPB4_USED_FLAG DB ?
DPB4_NEXT_DPB DD ?
DPB4_LASTCLUSTER DW ?
DPB4_RESERVERD DW ?
ENDS
GETFIRSTDPB MACRO
GETDIBADRESS
LES BX,ES:DIB_FIRST_DPB
#EM
GETNEXTDPB MACRO
PUSH BX,CX
MOV AH,030H
INT 021H
POP CX,BX
CMP AL,03H
IF A INC BX
CMP W ES:DPB3_NEXT_DPB,0FFFFH
JZ >M1
LES BX,ES:DPB3_NEXT_DPB
M1:
#EM
GETDISKPARAMETERBLOCK MACRO
PUSH DS
MOV AH,032H
INT 021H
CMP AL,0FFH
STC
JZ >M1
MOV ES,DS
M1:
POP DS
#EM
GETSETSWITCHCHAR MACRO
AND AL,01H
MOV AH,037H
INT 021H
#EM
GETBUSYFLAGADRESS MACRO
MOV AH,034H
INT 021H
#EM
GETCRITICALERRORFLAGADRESS MACRO
PUSH DS,SI,CX,DX
MOV AX,05D06H
INT 021H
MOV ES,DS
MOV BX,SI
POP DX,CX,SI,DS
#EM
SHARE? MACRO
MOV AX,01000H
INT 02FH
CMP AL,0FFH
#EM
NLSFUNC? MACRO
MOV AX,01400H
INT 02FH
CMP AL,0FFH
#EM
GRAFTABL? MACRO
MOV AX,0B000H
INT 02FH
CMP AL,0FFH
#EM
APPEND? MACRO
MOV AX,0B700H
INT 02FH
CMP AL,0FFH
#EM
ERRORHANDLER? MACRO
MOV AX,0500H
INT 02FH
CMP AL,0FFH
#EM
NETWORKREDIRECTOR? MACRO
MOV AX,1100H
INT 02FH
CMP AL,0FFH
#EM
DOSSHELL? MACRO
MOV AX,1900H
INT 02FH
CMP AL,0FFH
#EM
ANSISYS? MACRO
MOV AX,1A00H
INT 02FH
CMP AL,0FFH
#EM
DISPLAYSYS? MACRO
MOV AX,0AD00H
INT 02FH
CMP AL,0FFH
#EM
KEYB? MACRO
PUSH ES,DI
MOV AX,0AD80H
INT 02FH
POP DI,ES
CMP AL,0FFH
#EM
XMA2EMS? MACRO
MOV AX,1B00H
INT 02FH
CMP AL,0FFH
#EM
XMS? MACRO
MOV AX,4300H
INT 02FH
CMP AL,080H
#EM